package com.twoone;


import common.ListNode;

/**
 * @author ピカチュウ(皮卡啾)
 * @date 2021/7/16 22:16
 * @Description: 21. 合并两个有序链表
 */
public class TwoOne {

    // 递归，由于是有序链表，所以当前较小的节点 cur.next 永远指向对方链表中最小的节点

    public ListNode mergeTwoList(ListNode l1, ListNode l2) {
        if (l1 == null || l2 == null) {
            return l1 == null ? l2 : l1;
        }

        if (l1.val < l2.val) {
            l1.next = mergeTwoList(l1.next, l2);
            return l1;
        } else {
            l2.next = mergeTwoList(l1, l2.next);
            return l2;
        }
    }

}
